{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# [Java基础之—反射](https://blog.csdn.net/sinat_38259539/article/details/71799078)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**反射是框架设计的灵魂**  \n",
    "**使用的前提条件：必须先得到代表的字节码的Class，Class类用于表示.class文件（字节码）**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 反射的概述\n",
    "JAVA反射机制是在运行状态中，对于任意一个类，都能够知道这个类的所有属性和方法；对于任意一个对象，都能够调用它的任意一个方法和属性；这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。  \n",
    "\n",
    "要想解剖一个，必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法，所以先要获取到每一个字节码文件对应的Class类型的对象。"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAABI0AAAHeCAYAAAAW6vvKAAAgAElEQVR4Aey9C/AkVXk+jGtpGUtFY1CT/SiTv1fAK7loVpEoBWaDRsDkH/AC8RNLyc1sRQFNfZqUKBrjRmO5a8JFjWG9FOKNXYyLGsDVhIAapBDQVaAiikZd/bk7+9vZ356v3p55et5+55zTp2emZ7qnn67qPe95b+c9T/fO9Dy/092HfeFLL3XciQHPAZ4DPAd4DvAc4DnAc4DnAM8BngM8B3gO8BzgOcBzoLvnwI9XDji7H/bBD7/AcScGPAd4DvAc4DnAc4DnAM8BngM8B3gO8BzgOcBzgOcAz4HungOWMJL+YY4bESACRIAIEAEiQASIABEgAkSACBABIkAEiECnESBp1OnDz8kTASJABIgAESACRIAIEAEiQASIABEgAkTAjwBJIz8u1BIBIkAEiAARIAJEgAgQASJABIgAESACRKDTCJA06vTh5+SJABEgAkSACBABIkAEiAARIAJEgAgQASLgR4CkkR8XaokAESACRIAIEAEiQASIABEgAkSACBABItBpBEgadfrwc/JEgAgQASJABIgAESACRIAIEAEiQASIABHwI0DSyI8LtUSACBABIkAEiAARIAJEgAgQASJABIgAEeg0AiSNOn34OXkiQASIQHcRWNu6161s6tcMQN/11u91e7d6xtnZcysbV11/99qENay51Y173eruSPjuVdfbOmn+SF5jEiz3zmEcMyy7RIAIEAEiQASIABEgAjUjQNKoZoCZnggQASJABJqJQEYarV+pmTgS0mjF9XZ6MBDSaP3KgGyZiNwR0mjFrayPEEfDMYScSqOOEogoz1SApXeeHv+iKoJR0ZE9IkAEiAARIAJEgAgQgTkjQNJozoBzOCJABIgAEWgIAhmh0nOeNUAzLNASIn3XB4G0e9XtXT8avzrxYnOPl93fVEIqjYc45wZ5q6wcympPJqaccyCzhLTL9wEWwGGk1z5Krn2VmBccKokAESACRIAIEAEi0CkESBp16nBzskSACBABIpAjUAdp5CVDFNEBgkQID0MaSV2VSB4ZK0qcVCd/gA2Im9SVQ0mkkcZmU9+FYkJ61ObDLbdRIAJEgAgQASJABIgAEZgpAiSNZgonkxEBIkAEiEBrEKiDNBqbfGQ1kIc0GhAikdvNVP61rb3484xi89u9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x5jr3JSJABEgAkSACBABIkAEZoMASaPZ4MgsRIAIEAEi0HQEhDDxkCXOhcihkH4a0iiUU4E3XO3jv+UrQhptWnX+l9YPnwuUkz0+0knGX3OrkRyoMJVAGiOwkGDYFsggkFl5jeMru7LnPo3Zw6SUGY5dIkAEiAARIAJEgAgQgQkQIGk0AWgMIQJEgAgQgbYhkEaIFGdVfHDzyLbm1naPemVSf+uQzMmIkVSSY0AujT17yftw7LIKhvaxZzYlxtXkJqSRb1VTTcMxLREgAkSACBABIkAEiMAECJA0mgA0hhABIkAEiAARIAJEgAgQASJABIgAESACRGDZESBptOxHmPMjAkSACBABIkAEiAARIAJEgAgQASJABIjABAiQNJoANIYQASJABIgAESACRIAIEAEiQASIABEgAkRg2REgabTsR5jzIwJEgAgQASJABBqNgLyyXl5TP8n+8pe/3Mk+SWxKDPKjjcWk+MTiy2zzyi/jNKGWshomsX/wgx9s9P8FFkcEiAARIALNQ4CkUfOOCSsiAkSACBABIkAElhyB0047zZ1yyinuhBNOcB/72Mfctm3buBOD2s+BN73pTdl5J+eenHfciAARIAJEgAiUIUDSqAwh2okAESACRIAIEAEiMCMEXvziF7uTTjrJXXbZZRlB8N73vndGmZmGCJQj8M1vfjM/9173ute5F7zgBe4zn/lMeSA9iAARIAJEoLMIkDTq7KHnxIkAESACRIAIEIF5IiBk0RVXXMEVHvMEnWMFEbj11lvdVVdd5f70T//UfeITnwj60UAEiAARIALdRoCkUbePP2dPBIgAESACRIAI1IzAmWee6Z7ylKe497///a7f79c8GtMTgWoI3HLLLRlxdPXVV1cLpDcRIAJEgAh0AgGSRp04zJwkESACRIAIEAEisAgE8OyYL3zhC251dXURJXBMIlCKwB133OFOP/10t3379lJfOhABIkAEiEC3ECBp1K3jzdkSASJABIgAESACc0TgiCOOcDfffPMcR+RQRGAyBO65557sIdlccTQZfowiAkSACCwrAiSNlvXIcl5EgAgQASJABIjAQhF41rOelT0rZv/+/Qutg4MTgVQEhDh69rOf7UgcpSJGPyJABIjA8iNA0mj5jzFnSASIABEgAkSACMwZgRNOOMF9+tOfdgcOHJjzyByOCEyHwM9//nN38skn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88pXvtKce+654nbtQ4pGtT8FCIAESIAESIAESIAESIAESKBuBPCYUFVEoz322MPstNNOXRkimwlEHaRtt912DZFh3333NdOmTYv1Z9OmTeass84y11xzjbfck08+aV760peavr4+84c//KEhfED8wL558+bKjBE6CXFh4cKFjf7+6U9/Mhs3bmwcFyUaNRoYjsgY3n777RHH+++/P+L4zDPPRCV+9rOfmec973lm27Zt5oknnjBLliwxBx10UOQrjjHjaOrUqbbZ2h5TNKrt0LPjJEACJEACJEACJEACJEACdSaAm2u5we6EA27OX/jCF5odd9zRQOBB/HOf+1wnJlvq5uEnbEC4wI64axaPbufZZ5+NZp3Ama1btzZ2iAz2zKPLL788mqkCcQlr5WDBcdjCLqKXtAlesuERKYgXvk374ysTSrotGtl++UQj4aTLS5qMleS50m1G9jHq6jRZyH2HHXaIZkPJTCQ5NzCGJ510kjRZ+5CiUe1PAQIgARIgARIgARIgARIgARKoIwG5kZYwKwMsiH3ooYeaxYsXm/e+973mkksuyX2mRqc+om+YcQLBADs2sYlQBAPEMQtF8nUeRLG99967IQbtvPPO5tRTT43KzpkzJxIaIDRhhtGXv/zlqB3MXJkwYUI04wizbg444IDGI1tvfOMbIyHqda97XbQgs/ZB+xY1UIE/WUQj6afwlm7qdMzCkq1dus73xWELIuCqVauisXzb294Wmcfb1DBeCxYsyP38Ff+rGFI0quKo0WcSIAESIAESIIFCCaRZADlNWe20r54vXddlPBuBJGyTlPG17qvrS09rx1dep/va8qXruoi7yrnS7Hqu46z1XLaYVgyBuJtq3SJusHVZnYf4li1bordiLV26NHpECWl4PCvPLa79rO2ITayDg7V28FY4SYPNBx54IBJzxD7EMaxDJBsexcINNTbU7e/vNzNnzjRf+MIXomMpB36HHXaYAR+sJwVe2LDejrCFkAUfZM0f8UNCsRVymEU0Qn/QR9l1/1xpurxdVvLapctMozFjxkRF9bhijI488kgzODiozdQ6TtGo1sPPzpMACZAACZAACQgB3ODau+T5wk5uin1149Jt/+xjn5+lpS/rMxv23WgG1pTmQVPDPrZSyOZpH0s5X+iz70tPa8dXXtK1v5ImYVIffOV86WLfDtOWt+vzuDsE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AQIECBA4uEBrkCGCRm+99dbw+++/D8+ePbMd0eD58+fXfs794BdP1YGgUQWywVNBow0umiETIECAAAECBAgQIEDgUAKtQaM///xz+PDDD4ePPvpouHfvnu2IBh988MHwzjvvHOpSWWz3m2++GX744QeBwyMGDlsDt99+++1wcXFxY60fPnw4PH369Eb6KSQ8f/FyqLc3TmFgxkCAAAECBAgQIECAAIGtC7QGjbY+f+Pfn8BPP/00fPbZZ8P9+/dtGzX4/PPPh19++eXGRSFodINEAgECBAgQIECAAAECBM5fQNDo/NfYDAm0CggatQqqT4AAAQIECBAgQIAAgQ0KCBptcNEMmUBnAUGjzuC6I0CAAAECBAgQIECAwCkIRNDot99+Gx4/fmxj4BpwDdy4Bn799dfhk08+8U6jU/gP2xgIECBAgAABAgQIECDQU+DBgwfDV199NXz99ddD/PrVIbZou9zm+shyc2Va8nq1H/0sjbPHWJbG0JKf418715a+5urmOObKtORl+7mfa2tNmbn6S3m92i/7ieP4PyJ+KfEUP/VLsOPci7BPcaWMiQABAgQIECBAgAABAgQIECDQUUDQqCO2rggQIECAAAECBAgQIECAAAECWxEQNNrKShknAQIECBAgQIAAAQIECBAgQKCjgKBRR2xdESBAgAABAgQIECBAgAABAgS2IiBotJWVMk4CBAgQIECAAAECBAgQIECAQEcBQaOO2LoiQIAAAQIECBAgQIAAAQIECGxFQNBoKytlnAQIECBAgAABAgQIECBAgACBjgKCRh2xdUWAAAECBAgQIECAAAECBAgQ2IqAoNFWVso4CRAgQIAAAQIECBAgQIAAAQIdBQSNOmLrigABAgQIECBAgAABAgQIECCwFQFBo62slHESIECAAAECBAgQIECAAAECBDoKCBp1xNYVAQIECBAgQIAAAQIECBAgQGArAoJGW1kp4yRAgAABAgQIECBAgAABAgQIdBQQNOqIrSsCBAgQIECAAAECBAgQIECAwFYEBI22slLGSYAAAQIECBAgQIAAAQIECBDoKCBo1BFbVwQIECBAgAABAgQIECBAgACBrQgIGm1lpYyTAAECBAgQIECAAAECBAgQINBRQNCoI7auCBAgQIAAAQIECBAgQIAAAQJbERA02spKGScBAgQIECBAgAABAgQIECBAoKOAoFFHbF0RIECAAAECBAgQIECAAAECBLYiIGi0lZUyTgIECBAgQIAAAQIECBAgQIBARwFBo47YuiJAgAABAgQIECBAgAABAgQIbEVA0GgrK2WcBAgQIECAAAECBAgQIECAAIGOAoJGHbF1RYAAAQIECBAgQIAAAQIECBDYioCg0VZWyjgJECBAgAABAgQIECBAgAABAh0FBI06YuuKAAECBAgQIECAAAECBAgQILAVAUGjrayUcRIgQIAAAQIECBAgQIAAAQIEOgoIGnXE1hUBAgQIECBAgAABAgQIECBAYCsCgkZbWSnjJECAAAECBAgQIECAAAECBAh0FBA06oitKwIECBAgQIAAAQIECBAgQIDAVgQEjbayUsZJgAABAgQIECBAgAABAgQIEOgoIGjUEVtXBAgQIECAAAECBAgQIECAAIGtCAgabWWljJMAAQIECBAgQIAAAQIECBAg0FFA0Kgjtq4IECBAgAABAgQIECBAgAABAlsREDTaykoZJwECBAgQIECAAAECBAgQIECgo4CgUUdsXREgQIAAAQIECBAgQIAAAQIEtiIgaLSVlTJOAgQIECBAgAABAgQIECBAgEBHAUGjjti6IkCAAAECBAgQIECAAAECBAhsRWA0aDSWKO3lwICBa8A14BpwDbgGXAOuAdeAa8A14BpwDbgGXAN3+Rr4Hx2QcRmwwtfrAAAAAElFTkSuQmCC"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "以上的总结就是什么是反射  \n",
    "**反射就是把java类中的各种成分映射成一个个的Java对象**\n",
    "\n",
    "例如：一个类有：成员变量、方法、构造方法、包等等信息，利用反射技术可以对一个类进行解剖，把个个组成部分映射成一个个对象。\n",
    "\n",
    "其实：一个类中这些成员方法、构造方法、在加入类中都有一个类来描述\n",
    "\n",
    "如图是类的正常加载过程：反射的原理在与class对象。  \n",
    "加载的时候：**Class对象的由来是将class文件读入内存，并为之创建一个Class对象。**\n",
    "\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 反射的概念\n",
    "主要是指程序可以访问，检测和修改它本身状态或行为的一种能力，并能根据自身行为的状态和结果，调整或修改应用所描述行为的状态和相关的语义。\n",
    "\n",
    "反射是java中一种强大的工具，能够使我们很方便的创建灵活的代码，这些代码可以再运行时装配，无需在组件之间进行源代码链接。但是反射使用不当会成本很高！"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 反射机制中的类\n",
    "- java.lang.Class;                \n",
    "- java.lang.reflect.Constructor; \n",
    "- java.lang.reflect.Field;        \n",
    "- java.lang.reflect.Method;\n",
    "- java.lang.reflect.Modifier;"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 具体功能实现"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 获取类：反射机制获取类有三种方法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "```java\n",
    "//第一种方式：Class.forName(\"全类名\")\n",
    "Class<?> c1 = Class.forName(\"Employee\");\n",
    "\n",
    "//第二种方式：类名.class\n",
    "//java中每个类型都有class 属性\n",
    "Class<?> c2 = Employee.class;\n",
    " \n",
    "//第三种方式：对象.getClass()\n",
    "//java语言中任何一个java对象都有getClass 方法\n",
    "Employee e = new Employee();\n",
    "Class<?> c3 = e.getClass(); //c3是运行时类 (e的运行时类是Employee)\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 创建对象：获取类以后我们来创建它的对象"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "```\n",
    "Class c = Class.forName(\"Employee\");\n",
    "//创建此Class 对象所表示的类的一个新实例\n",
    "Object o = c.newInstance(); //调用了Employee的无参数构造方法\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 获取属性：分为所有的属性和指定的属性\n",
    "#### 获取所有的属性的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "private static final int java.lang.Class.ANNOTATION\n",
      "private static final int java.lang.Class.ENUM\n",
      "private static final int java.lang.Class.SYNTHETIC\n",
      "private transient volatile java.lang.reflect.Constructor java.lang.Class.cachedConstructor\n",
      "private transient volatile java.lang.Class java.lang.Class.newInstanceCallerCache\n",
      "private transient java.lang.String java.lang.Class.name\n",
      "private transient java.lang.Module java.lang.Class.module\n",
      "private transient java.lang.String java.lang.Class.packageName\n",
      "private final java.lang.Class java.lang.Class.componentType\n",
      "private static java.security.ProtectionDomain java.lang.Class.allPermDomain\n",
      "private transient volatile java.lang.ref.SoftReference java.lang.Class.reflectionData\n",
      "private transient volatile int java.lang.Class.classRedefinedCount\n",
      "private transient volatile sun.reflect.generics.repository.ClassRepository java.lang.Class.genericInfo\n",
      "private static final java.lang.Class[] java.lang.Class.EMPTY_CLASS_ARRAY\n",
      "private static final long java.lang.Class.serialVersionUID\n",
      "private static final java.io.ObjectStreamField[] java.lang.Class.serialPersistentFields\n",
      "private static jdk.internal.reflect.ReflectionFactory java.lang.Class.reflectionFactory\n",
      "private transient volatile java.lang.Object[] java.lang.Class.enumConstants\n",
      "private transient volatile java.util.Map java.lang.Class.enumConstantDirectory\n",
      "private transient volatile java.lang.Class$AnnotationData java.lang.Class.annotationData\n",
      "private transient volatile sun.reflect.annotation.AnnotationType java.lang.Class.annotationType\n",
      "transient java.lang.ClassValue$ClassValueMap java.lang.Class.classValueMap\n",
      "\n",
      "public final class Class{\n",
      "\tprivate static final int ANNOTATION;\n",
      "\tprivate static final int ENUM;\n",
      "\tprivate static final int SYNTHETIC;\n",
      "\tprivate transient volatile Constructor cachedConstructor;\n",
      "\tprivate transient volatile Class newInstanceCallerCache;\n",
      "\tprivate transient String name;\n",
      "\tprivate transient Module module;\n",
      "\tprivate transient String packageName;\n",
      "\tprivate final Class componentType;\n",
      "\tprivate static ProtectionDomain allPermDomain;\n",
      "\tprivate transient volatile SoftReference reflectionData;\n",
      "\tprivate transient volatile int classRedefinedCount;\n",
      "\tprivate transient volatile ClassRepository genericInfo;\n",
      "\tprivate static final Class[] EMPTY_CLASS_ARRAY;\n",
      "\tprivate static final long serialVersionUID;\n",
      "\tprivate static final ObjectStreamField[] serialPersistentFields;\n",
      "\tprivate static ReflectionFactory reflectionFactory;\n",
      "\tprivate transient volatile Object[] enumConstants;\n",
      "\tprivate transient volatile Map enumConstantDirectory;\n",
      "\tprivate transient volatile AnnotationData annotationData;\n",
      "\tprivate transient volatile AnnotationType annotationType;\n",
      "\ttransient ClassValueMap classValueMap;\n",
      "}\n"
     ]
    }
   ],
   "source": [
    "import java.lang.reflect.Field;\n",
    "import java.lang.reflect.Modifier;\n",
    "\n",
    "//获取整个类\n",
    "Class c = Class.forName(\"java.lang.Class\");\n",
    "//获取所有的属性\n",
    "Field[] fs = c.getDeclaredFields();\n",
    "//输出所有属性\n",
    "for(Field field:fs)\n",
    "    System.out.println(field);\n",
    "System.out.println();\n",
    "\n",
    "\n",
    "//定义可变长的字符串，用来存储属性\n",
    "StringBuffer sb = new StringBuffer();\n",
    "//通过追加的方法，将每个属性拼接到此字符串中\n",
    "//最外边的public定义\n",
    "sb.append(Modifier.toString(c.getModifiers()) + \" class \" + c.getSimpleName() +\"{\\n\");\n",
    "//里边的每一个属性\n",
    "for(Field field:fs){\n",
    "    sb.append(\"\\t\");//空格\n",
    "    sb.append(Modifier.toString(field.getModifiers())+\" \");//获得属性的修饰符，例如public，static等等\n",
    "    sb.append(field.getType().getSimpleName() + \" \");//属性的类型的名字\n",
    "    sb.append(field.getName()+\";\\n\");//属性的名字+回车\n",
    "}\n",
    "\n",
    "sb.append(\"}\");\n",
    "\n",
    "System.out.println(sb);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 获取特定的属性，对比着传统的方法来学习"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "private static final int java.lang.Class.ANNOTATION\n"
     ]
    }
   ],
   "source": [
    "//import java.lang.Class;\n",
    "\n",
    "//以前的方式：\n",
    "/*\n",
    "User u = new User();\n",
    "u.age = 12; //set\n",
    "System.out.println(u.age); //get\n",
    "*/\n",
    "\n",
    "//获取类\n",
    "Class c = Class.forName(\"java.lang.Class\");\n",
    "//获取id属性\n",
    "Field idF = c.getDeclaredField(\"ANNOTATION\");\n",
    "System.out.println(idF);\n",
    "\n",
    "//实例化这个类赋给o\n",
    "//Object o = c.newInstance();//需要Class类有构造函数\n",
    "//打破封装\n",
    "idF.setAccessible(true); //使用反射机制可以打破封装性，导致了java对象的属性不安全。\n",
    "//给o对象的id属性赋值\"110\"\n",
    "//idF.set(o, \"110\"); //set\n",
    "//get\n",
    "//System.out.println(idF.get(o));"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 获取方法，和构造方法：关键字"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "|方法关键字| 含义|\n",
    "|:---------|:----|\n",
    "|getDeclaredMethods()|获取所有的方法|\n",
    "|getReturnType()|获得方法的放回类型|\n",
    "|getParameterTypes()|获得方法的传入参数类型|\n",
    "|getDeclaredMethod(\"方法名\",参数类型.class,……)|获得特定的方法|\n",
    "| | |\n",
    "|**构造方法关键字**|**含义**|\n",
    "|getDeclaredConstructors()|获取所有的构造方法|\n",
    "|getDeclaredConstructor(参数类型.class,……)|获取特定的构造方法|\n",
    "| | |\n",
    "|**父类和父接口**|**含义**|\n",
    "|getSuperclass()|获取某类的父类|\n",
    "|getInterfaces()|获取某类实现的接口|\n",
    "\n",
    "这样我们就可以获得类的各种内容，进行了反编译。对于JAVA这种先编译再运行的语言来说，反射机制可以使代码更加灵活，更加容易实现面向对象。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 反射加配置文件，使我们的程序更加灵活\n",
    "配置文件为.properties,称作属性文件。通过反射读取里边的内容。代码是固定的，但是利用配置文件的内容我们可以改，这样使我们的代码灵活了很多！"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Java",
   "language": "java",
   "name": "java"
  },
  "language_info": {
   "codemirror_mode": "java",
   "file_extension": ".jshell",
   "mimetype": "text/x-java-source",
   "name": "Java",
   "pygments_lexer": "java",
   "version": "11.0.8+10-post-Ubuntu-0ubuntu120.04"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "165px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
